const _models = [
    {'id': 1, 'name': 'm1',},
    {'id': 2, 'name': 'm2',},
    {'id': 3, 'name': 'm3',},
]

const _models_detail = [
    {
        'id': 1, 'name': 'm1',
        'repos': [
            {
                'id': 1,
                'branches': [
                    {
                        'id': 1,
                        'name': 'b1'
                    },
                    {
                        'id': 2,
                        'name': 'b2'
                    },
                ]
            },

            {
                'id': 2,
                'branches': [
                    {
                        'id': 1,
                        'name': 'b1'
                    },
                    {
                        'id': 2,
                        'name': 'b2'
                    },
                ]
            },

            {
                'id': 3,
                'branches': [
                    {
                        'id': 1,
                        'name': 'b1'
                    },
                    {
                        'id': 2,
                        'name': 'b2'
                    },
                ]
            },
        ]
    },
    {
        'id': 2, 'name': 'm1',
        'repos': [
            {
                'id': 1,
                'branches': [
                    {
                        'id': 1,
                        'name': 'b1'
                    },
                    {
                        'id': 2,
                        'name': 'b2'
                    },
                ]
            },

            {
                'id': 2,
                'branches': [
                    {
                        'id': 1,
                        'name': 'b1'
                    },
                    {
                        'id': 2,
                        'name': 'b2'
                    },
                ]
            },

            {
                'id': 3,
                'branches': [
                    {
                        'id': 1,
                        'name': 'b1'
                    },
                    {
                        'id': 2,
                        'name': 'b2'
                    },
                ]
            },
        ]
    },
]


function getModels(cb) {
    setTimeout(() => cb(_models), 100)
}

function submitModels(models, cb, errorCb) {
    setTimeout(() => {
        (Math.random() > 0.5)
            ? cb(_models_detail.filter(({id}) => {
                for (let _m of models) {
                    if (_m.id === id) {
                        return true
                    }
                }
                return false
            }))
            : errorCb()
    }, 1000)
}

var assert = require('assert');
getModels(models => {console.log(models)})
submitModels([{id:1}], models=>{console.log(models)}, ()=>{console.log('failed')})
describe('Array', function () {
    describe('#indexOf()', function () {
        it('should return -1 when the value is not present', function () {
            assert.equal([1, 2, 3].indexOf(4), -1);
        });
    });
});